#ifndef INSTRUCTION_H
#define INSTRUCTION_H

#include "qimage.h"
#include "Outcome.h"
#include <string>

class IReceiver;

class Instruction
{
public:
	Instruction();
	virtual Outcome::Outcome execute(IReceiver &iReceiver) const = 0;
	inline const QImage& getImage(void) const {return img; }

protected:
	inline void loadImage(std::string iFileName) { img.load(iFileName.c_str()); };

private: 
	QImage img;
};

#endif